<!--
  Copyright JS Foundation and other contributors, http://js.foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<script type="text/html" data-help-name="csv">
    <p>Konvertierung zwischen einer CSV-formatierten Zeichenfolge (string) und ihrer JavaScript-Objektdarstellung in beide Richtungen.</p>
    <h3>Eingangsdaten</h3>
    <dl class="message-properties">
        <dt>payload <span class="property-type">object | array | string</span></dt>
        <dd>JavaScript-Objekt, Array oder CSV-Zeichenfolge.</dd>
    </dl>
    <h3>Ausgangsdaten</h3>
    <dl class="message-properties">
        <dt>payload <span class="property-type">object | array | string</span></dt>
        <dd>
            <ul>
                <li>Wenn die Eingangsdaten ein Zeichenfolge (string) sind, wird versucht, sie als CSV zu analysieren (parse),
                    und es wird für jede Zeile ein JavaScript-Objekt mit Schlüssel/Wert-Paaren erstellt.
                    Der Node sendet dann entweder eine Nachricht für jede CSV-Zeile oder
                    eine einzige Nachricht mit einem Array von Objekten.</li>
                <li>Wenn die Eingangsdaten ein JavaScript-Objekt sind, wird versucht, eine CSV-Zeichenfolge zu erzeugen</li>
                <li>Wenn die Eingangsdaten ein Array mit einfachen Werten sind, wird eine einzeilige CSV-Zeichenfolge erstellt</li>
                <li>Wenn die Eingangsdaten ein Array von Arrays oder Objekten sind, wird ein mehrzeiliger CSV-Zeichenfolge erstellt</li>
            </ul>
        </dd>
    </dl>
    <h3>Details</h3>
    <p>Die Spaltenvorlage besteht aus der geordneten und durch Komma getrennten Liste der Spaltennamen.
       Bei der Konvertierung von CSV nach Objekt werden die Spaltennamen als Eigenschaftsnamen verwendet.
       Alternativ können die Spaltennamen auch aus der ersten Zeile des CSV übernommen werden.</p>
    <p>Bei der Konvertierung nach CSV wird die Spaltenvorlage verwendet, um festzustellen,
       welche Eigenschaften aus dem Objekt in welcher Reihenfolge extrahiert werden sollen.</p>
    <p>Wenn die Spaltenvorlage nicht vorgegeben ist, kann eine einfache, Komma getrennte Liste über
       die <code>msg.columns</code>-Eigenschaft übergeben werden, um vorzugeben, was der Node extrahieren soll,
       und wie es sortiert sein soll.
       Wenn das nicht vorgegeben ist, werden alle Objekt-Eigenschaften in der Reihenfolge ausgegeben,
       wie die Eigenschaften in der ersten Zeile gefunden wurden.</p>
    <p>Wenn die Eingangsdaten ein Array sind, wird die Spaltenvorlage nur verwendet,
       um optional eine Reihe von Spaltentiteln zu erzeugen.</p>
    <p>Mit der Option <i>Zahlenwerte ermitteln</i> werden Zeichenfolgen als Zahlenwerte ausgewertet, z.B. der mittlere Wert der CSV-Zeile <code>1,"1.5",2</code></p>
    <p>Mit der Option <i>Leere Zeichenfolgen (string) einbeziehen</i> werden auch leere Zeichenfolgen übergeben, z.B. der mittlere Wert der CSV-Zeile <code>"1","",3</code></p>
    <p>Mit der Option <i>Nullwerte einbeziehen</i> werden auch Nullwerte rückgegeben, z.B. der mittlere Wert der CSV-Zeile <code>"1",,3</code></p>
    <p>Der Node kann mehrteilige Eingangsdaten akzeptieren, solange die <code>parts</code>-Eigenschaft korrekt gesetzt ist.</p>
    <p>Wenn mehrere Nachrichten ausgegeben werden, sind ihre <code>parts</code>-Eigenschaften gesetzt und sie bilden eine vollständige Nachrichtensequenz.</p>
    <p><b>Hinweis</b>:Die Spaltenvorlage muss Komma-getrennt sein, auch wenn für die Daten ein anderes Trennzeichen gewählt wird.</p>
</script>
